package cz.semjob.document.annotation;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import cz.semjob.document.annotation.metadata.AnnotationTypeFactory;

public class DocumentAnnotations {
	
	private final List<EntityAnnotation> entities;
	
	private final List<EventAnnotation> events;
	
	private final List<RelationAnnotation> relations;
	
	private AnnotationTypeFactory annotationTypeFactory;

	public DocumentAnnotations(AnnotationTypeFactory annotationTypeFactory) {
		super();
		this.entities = new ArrayList<EntityAnnotation>();
		this.events = new ArrayList<EventAnnotation>();
		this.relations = new ArrayList<RelationAnnotation>();
		this.annotationTypeFactory = annotationTypeFactory;
	}

	public List<EntityAnnotation> getEntities() {
		return entities;
	}

	public List<EventAnnotation> getEvents() {
		return events;
	}

	public List<RelationAnnotation> getRelations() {
		return relations;
	}
	
	public AnnotationTypeFactory getAnnotationTypeFactory() {
		return annotationTypeFactory;
	}

	public void addEntities(Collection<EntityAnnotation> collection) {
		this.entities.addAll(collection);
	}
	
	public void addRelations(Collection<RelationAnnotation> relations) {
		this.relations.addAll(relations);
	}
	
	public void addEvents(Collection<EventAnnotation> events) {
		this.events.addAll(events);
	}
	

}
